package cn.cdeden.aiqa.domain.bo;

import lombok.Data;

import java.util.List;

@Data
public class DifyUpdateByFileBo {

    /**
     * 文档名称（选填）
     */
    private String name;

    /**
     * 处理规则
     */
    private ProcessingRule processingRule;

    @Data
    public static class ProcessingRule {
        /**
         * 清洗、分段模式 ，automatic 自动 / custom 自定义
         */
        private String mode;
        private Rules rules; // 预处理规则

        @Data
        public static class Rules {
            private List<PreProcessingRule> preProcessingRules; // 预处理规则
            private Segmentation segmentation; // 分割规则

            @Data
            public static class PreProcessingRule {
                /**
                 *  预处理规则的唯一标识符
                 * 枚举：
                 * remove_extra_spaces 替换连续空格、换行符、制表符
                 * remove_urls_emails 删除 URL、电子邮件地址
                 */
                private String id;
                /**
                 * 是否选中该规则，不传入文档 ID 时代表默认值
                 */
                private boolean enabled;
            }

            @Data
            public static class Segmentation {
                /**
                 * 自定义分段标识符，目前仅允许设置一个分隔符。默认为 \n
                 */
                private String separator;
                /**
                 * 最大长度（token）默认为 1000
                 */
                private int maxTokens;
            }

        }
    }



}
